home *** CD-ROM | disk | FTP | other *** search
-
-
-
- mmmmaaaapppp((((DDDD2222XXXX)))) mmmmaaaapppp((((DDDD2222XXXX))))
-
-
-
- NNNNAAAAMMMMEEEE
- _mmmm_aaaa_pppp - support virtual mapping for memory-mapped device
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_ssss_yyyy_ssss_////_tttt_yyyy_pppp_eeee_ssss_...._hhhh_>>>>
- _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_ssss_yyyy_ssss_////_mmmm_mmmm_aaaa_nnnn_...._hhhh_>>>>
- _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_ssss_yyyy_ssss_////_dddd_dddd_iiii_...._hhhh_>>>>
- _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_kkkk_ssss_yyyy_ssss_////_dddd_dddd_mmmm_aaaa_pppp_...._hhhh_>>>>
-
- _iiii_nnnn_tttt _pppp_rrrr_eeee_ffff_iiii_xxxx_mmmm_aaaa_pppp_((((_dddd_eeee_vvvv______tttt _d_e_v_,,,, _vvvv_hhhh_aaaa_nnnn_dddd_llll______tttt _****_v_t_,,,, _oooo_ffff_ffff______tttt _o_f_f_,,,, _ssss_iiii_zzzz_eeee______tttt _l_e_n_,,,, _uuuu_iiii_nnnn_tttt _p_r_o_t_))))_;;;;
-
- AAAArrrrgggguuuummmmeeeennnnttttssss
- _d_e_v Device whose memory is to be mapped.
-
- _v_t A pointer to the kernel-resident data structure that describes the
- virtual space to which the device memory will be mapped. The driver
- needs this pointer when calling kernel service routines (i.e.,
- _vvvv______mmmm_aaaa_pppp_pppp_hhhh_yyyy_ssss(D3X)).
-
- _o_f_f Offset within device memory at which mapping begins.
-
- _l_e_n The length (in bytes) of the device memory to be mapped into the
- user's address space.
-
- _p_r_o_t Protection flags from _m_m_a_n._h.
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- The map entry point provides a way to support drivers for memory-mapped
- devices. A memory-mapped device has memory that can be mapped into a
- process's address space. The _mmmm_mmmm_aaaa_pppp(2) system call allows this device
- memory to be mapped into user space for direct access by the user
- application (this way no kernel buffering or system call overhead is
- incurred).
-
- RRRReeeettttuuuurrrrnnnn VVVVaaaalllluuuueeeessss
- If the protection and offset are valid for the device, the driver should
- return 0. Otherwise, the appropriate error number should be returned.
-
- UUUUSSSSAAAAGGGGEEEE
- This entry point is optional, and valid for memory-mapped device drivers
- only.
-
- Valid values for _p_r_o_t are:
-
- _P_R_O_T__R_E_A_D
- Page can be read.
-
- _P_R_O_T__W_R_I_T_E
- Page can be written.
-
-
-
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- mmmmaaaapppp((((DDDD2222XXXX)))) mmmmaaaapppp((((DDDD2222XXXX))))
-
-
-
- _P_R_O_T__E_X_E_C
- Page can be executed.
-
- _P_R_O_T__A_L_L
- All of the above.
-
- The driver should treat _v_t as opaque and should not try to directly set
- any of the member values. To map physical addresses into user address
- space, drivers should use the _vvvv______mmmm_aaaa_pppp_pppp_hhhh_yyyy_ssss(D3X) function. Use
- _vvvv______gggg_eeee_tttt_hhhh_aaaa_nnnn_dddd_llll_eeee(D3X) if the driver must remember several virtual handles.
-
- SSSSyyyynnnncccchhhhrrrroooonnnniiiizzzzaaaattttiiiioooonnnn CCCCoooonnnnssssttttrrrraaaaiiiinnnnttttssss
- The map routine has user context and can sleep.
-
- RRRREEEEFFFFEEEERRRREEEENNNNCCCCEEEESSSS
- _uuuu_nnnn_mmmm_aaaa_pppp(D2X), _vvvv______gggg_eeee_tttt_aaaa_dddd_dddd_rrrr(D3X), _vvvv______gggg_eeee_tttt_llll_eeee_nnnn(D3X), _vvvv______gggg_eeee_tttt_hhhh_aaaa_nnnn_dddd_llll_eeee(D3X),
- _vvvv______mmmm_aaaa_pppp_pppp_hhhh_yyyy_ssss(D3X)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-